namespace Yuebon.Invoice.Dtos
{
    /// <summary>
    /// 发票信息输出对象模型
    /// </summary>
    [Serializable]
    public partial class THInvoiceOutputDto
    {
        /// <summary>
        /// 设置或获取记录序号
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 设置或获取发票ID
        /// </summary>
        [MaxLength(100)]
        public string InvoiceID { get; set; }
        /// <summary>
        /// 设置或获取发票类型(红票)
        /// </summary>
        [MaxLength(100)]
        public string InvoiceKind { get; set; }
        /// <summary>
        /// 设置或获取发票代码
        /// </summary>
        [MaxLength(100)]
        public string? InvoiceCode { get; set; }
        /// <summary>
        /// 设置或获取发票号
        /// </summary>
        [MaxLength(100)]
        public string? InvoiceNo { get; set; }
        /// <summary>
        /// 设置或获取发票日期
        /// </summary>
        [MaxLength(10)]
        public string InvoiceDate { get; set; }
        /// <summary>
        /// 设置或获取购方税号
        /// </summary>
        [MaxLength(50)]
        public string BuyerCode { get; set; }
        /// <summary>
        /// 设置或获取购方名称
        /// </summary>
        [MaxLength(200)]
        public string BuyerName { get; set; }
        /// <summary>
        /// 设置或获取购方地址
        /// </summary>
        [MaxLength(400)]
        public string BuyerAddress { get; set; }
        /// <summary>
        /// 设置或获取购方电话
        /// </summary>
        [MaxLength(200)]
        public string BuyerTel { get; set; }
        /// <summary>
        /// 设置或获取购方银行账户
        /// </summary>
        [MaxLength(400)]
        public string BuyerBankAccount { get; set; }
        /// <summary>
        /// 设置或获取销方税号
        /// </summary>
        [MaxLength(50)]
        public string SalerCode { get; set; }
        /// <summary>
        /// 设置或获取销方名称
        /// </summary>
        [MaxLength(200)]
        public string SalerName { get; set; }
        /// <summary>
        /// 设置或获取销方地址
        /// </summary>
        [MaxLength(400)]
        public string SalerAddress { get; set; }
        /// <summary>
        /// 设置或获取销方电话
        /// </summary>
        [MaxLength(50)]
        public string SalerTel { get; set; }
        /// <summary>
        /// 设置或获取销方银行账户
        /// </summary>
        [MaxLength(200)]
        public string SalerBankAccount { get; set; }
        /// <summary>
        /// 设置或获取销方银行开户行
        /// </summary>
        [MaxLength(100)]
        public string SalerBank { get; set; }
        /// <summary>
        /// 设置或获取机器码
        /// </summary>
        [MaxLength(100)]
        public string MachineCode { get; set; }
        /// <summary>
        /// 设置或获取校验码
        /// </summary>
        [MaxLength(100)]
        public string CheckCode { get; set; }
        /// <summary>
        /// 设置或获取发票密文
        /// </summary>
        [MaxLength(2000)]
        public string Ciphertext { get; set; }
        /// <summary>
        /// 设置或获取二维码
        /// </summary>
        [MaxLength(2000)]
        public string QrCode { get; set; }
        /// <summary>
        /// 设置或获取含税金额
        /// </summary>
        public decimal? Money { get; set; }
        /// <summary>
        /// 设置或获取税额
        /// </summary>
        public decimal? Tax { get; set; }
        /// <summary>
        /// 设置或获取无税金额
        /// </summary>
        public decimal? MoneyTaxNone { get; set; }
        /// <summary>
        /// 设置或获取备注
        /// </summary>
        [MaxLength(1000)]
        public string InvoiceRemark { get; set; }
        /// <summary>
        /// 设置或获取开票人
        /// </summary>
        [MaxLength(40)]
        public string CreateName { get; set; }
        /// <summary>
        /// 设置或获取复核人
        /// </summary>
        [MaxLength(40)]
        public string CheckName { get; set; }
        /// <summary>
        /// 设置或获取收款人
        /// </summary>
        [MaxLength(40)]
        public string PayeeName { get; set; }
        /// <summary>
        /// 设置或获取
        /// </summary>
        [MaxLength(500)]
        public string InvoiceImage { get; set; }
        /// <summary>
        /// 设置或获取
        /// </summary>
        [MaxLength(500)]
        public string InvoicePdf { get; set; }
        /// <summary>
        /// 设置或获取发票状态
        /// </summary>
        [MaxLength(50)]
        public string Status { get; set; }
        /// <summary>
        /// 设置或获取冲红原票代码
        /// </summary>
        [MaxLength(50)]
        public string RedByInvoiceCode { get; set; }
        /// <summary>
        /// 设置或获取冲红原票号码
        /// </summary>
        [MaxLength(50)]
        public string RedByInvoiceNo { get; set; }
        /// <summary>
        /// 设置或获取红票确认单号
        /// </summary>
        [MaxLength(50)]
        public string RedConfirmNo { get; set; }
        /// <summary>
        /// 设置或获取核对金额
        /// </summary>
        public decimal? CheckMoney { get; set; }
        /// <summary>
        /// 设置或获取核对状态
        /// </summary>
        [MaxLength(20)]
        public string CheckStatus { get; set; }
        /// <summary>
        /// 设置或获取核对明细数
        /// </summary>
        public int? CheckAmount { get; set; }
        /// <summary>
        /// 设置或获取结算金额
        /// </summary>
        public decimal? SettleMoney { get; set; }
        /// <summary>
        /// 设置或获取更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
        /// <summary>
        /// 设置或获取
        /// </summary>
        public DateTime? CheckTime { get; set; }
        /// <summary>
        /// 设置或获取结算状态
        /// </summary>
        [MaxLength(20)]
        public string SettleStatus { get; set; }
        /// <summary>
        /// 设置或获取结算时间
        /// </summary>
        public DateTime? SettleTime { get; set; }

    }
}
